Módulo:Juegos
local p = {} local games = { "AR" = "All Roads", "D20" = "Fallout Pen and Paper d20", "FB" = "Biblia de Fallout", "FBG" = "Fallout: The Board Game", "FBGWW" = "Fallout: Wasteland Warfare", "FILM" = "Fallout (película)", "FNV" = "Fallout: New Vegas", "FNVGRA" = "Gun Runners' Arsenal", "FNVCS" = "Courier's Stash", "FNVDM" = "Dead Money", "FNVHH" = "Honest Hearts", "FNVOWB" = "Old World Blues (complemento)", "FNVLR" = "Lonesome Road (complemento)", "FO" = "Fallout", "FO1" = "Fallout", "FO2" = "Fallout 2", "FO3" = "Fallout 3", "FO3OA" = "Operation: Anchorage", "FO3TP" = "The Pitt", "FO3BS" = "Broken Steel", "FO3PL" = "Point Lookout (complemento)", "FO3MZ" = "Mothership Zeta", "FO4" = "Fallout 4", "FO4AUT" = "Automatron (complemento)", "FO4WW" = "Wasteland Workshop", "FO4FH" = "Far Harbor (complemento)", "FO4CW" = "Contraptions Workshop", "FO4VW" = "Vault-Tec Workshop", "FO4NW" = "Nuka-World (complemento)", "FO4VR" = "Fallout 4 VR", "FO4CC" = "Creation Club", "FO76" = "Fallout 76", "FO76WA" = "Wild Appalachia", "FO76NW" = "Nuclear Winter", "FO76WL" = "Wastelanders", "FOBOS" = "Fallout: Brotherhood of Steel", "FOBOS2" = "Fallout: Brotherhood of Steel 2", "FOS" = "Fallout Shelter", "FOT" = "Fallout Tactics", "FOT2" = "Fallout Tactics 2", "FOX" = "Fallout Extreme", "FOW" = "Fallout: Warfare", "JES" = "RPG de Fallout de J.E. Sawyer", "LH" = "Lionheart", "PA" = "Un hombre, y una caja de marionetas", "PV13" = "Project V13", "TAR" = "Project V13", "FOOL" = "Project V13", "TORN" = "TORN", "VB" = "Van Buren", "FONADA" = " ", -- Constante dummy } -- -- Buscar un título corto y sin desambiguación -- function stitle(game) local result = gamesgame if game ~= "FILM" then result = result:gsub('%s%(.*', ) end return result end -- -- Esta función, links, es para los enlaces ordinarios dentro del cuerpo de -- una infobox. Así que si lo que quieres devolver es Fallout 4, entonces -- la sintáxis es: -- }}} -- Especificando un segundo argumento devuelve el texto en cursiva: -- }|1}} -- function p.links(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") for n, game in ipairs(game_list) do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = '' else result = result .. '[.. games[game .. '|' .. stitle(game) .. ']]' if n ~= #game_list then result = result .. ' ' end end end if (frame.args2 and result ~= '') then return "" .. result .. "" else return result end end -- -- Esta función, mencionado, es para los enlaces ordinarios dentro del cuerpo de -- una infobox, si se ingresa en "Juegos": "no", "none" o "ninguno", devolverá -- "Solo mencionado" sin cursiva y enlace. -- Así que si lo que quieres devolver es Fallout 4, entonces -- la sintáxis es: -- }}} -- Especificando un segundo argumento devuelve el texto en cursiva: -- }|1}} -- function p.mencionado(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") for n, game in ipairs(game_list) do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = 'Solo mencionado' else result = result .. '[.. games[game .. '|' .. stitle(game) .. ']]' if n ~= #game_list then result = result .. ' ' end end end if (frame.args2 and result ~= '') then if result "Solo mencionado" then return "" .. result .. "" else return "" .. result .. "''" end else return result end end -- -- Pequeña función para invertir los resultados de "ipairs" -- function TablaInversa(t) local tablaInvertida = {} local contarElementos = #t for k, v in ipairs(t) do tablaInvertida+ 1 - k = v end return tablaInvertida end -- -- Esta es una función que inserta genéricamente un enlace en un supertítulo. -- Simplemente a la página de juego en sí o a una página más específica. -- -- da Fallout 4 -- resulta en Fallout 4 -- resulta en Armas de Fallout 4 -- function p.title(frame) local result = '' local game_list = mw.text.split(frame.args1, "%s*,%s*") local r = TablaInversa(game_list) for n, game in ipairs® do if game:lower() "none" or game:lower() "no" or game:lower() "ninguno" then result = 'solo mencionado' if frame.args3 then result = frame.args3 .. ' ' .. result end else local link if frame.args2 then link = frame.args2 .. ' ' .. stitle(game) else link = gamesgame end local text = stitle(game) if frame.args3 and n #r then text = frame.args3 .. ' ' .. text end -- result = result .. '' .. text .. '' result = '' .. text .. ''.. result if n ~= #r then -- result = result .. ' / ' result = ' / '.. result end end end return result end return p --